package com.bjsxt;
/**
 * 通配符上限限定
 * 上限限定表示通配符的类型是T类以及T类的子类或者T接口以及T接口的子接口的子接口
 * 语法：public void showFlag(带有泛型的类<? extends Number> 类名的小写)
 * 关键字：extends
 * 通配符下限限定
 *下限限定表示通配符的类型是T类以及T类的 父类 或者T接口以及T接口的 父 接口的子接口
 *  * 语法：public void showFlag(带有泛型的类<? super Integer> 类名的小写)
 *  * 关键字：super
 *  注意：下限限定不可以在class类中使用*/

/*上限限定 extends*/
public class TestGeneric01<T extends Number> {
    private T flag;

    public void setFlag(T flag){
        this.flag=flag;
    }
    public T setFlag(){
        return flag;
    }
    //上限限定，这里可以用Number Integer
    public void showFlag(Generic02<? extends Number> generic021){
        System.out.println(generic021.getFlag());
    }
    //下限限定，这里可以用Number类及它的父类  Integer的不可以用
    public void showFlag02(Generic02<? super Number> generic021){
        System.out.println(generic021.getFlag());
    }
}
